Introduction
Les certificats sont un résultat courant dans de nombreux processus métiers, des attestations de fin de formation aux récompenses de réussite et confirmations de participation à un événement. Créer manuellement des certificats individuels pour chaque destinataire est fastidieux et propice aux erreurs, surtout avec des dizaines ou des centaines d’enregistrements. Dans ce tutoriel, nous allons créer un flux automatisé utilisant FlowRunner et DocuGenerate qui génère des certificats PDF chaque fois qu’un nouvel enregistrement est ajouté à une table de base de données.
FlowRunner fait partie de la plateforme Backendless et permet de créer facilement des flux de travail intelligents en quelques clics. Il orchestre des flux automatisés combinant des agents IA, des décisions humaines et des intégrations système. Aussi bien les utilisateurs techniques que non techniques peuvent créer des flux. Les utilisateurs non techniques travaillent via l’interface visuelle, tandis que les utilisateurs techniques peuvent exploiter du code personnalisé et des intégrations avancées.
Le flux que nous allons créer écoute les nouveaux enregistrements dans une table de base de données Backendless, génère un certificat PDF personnalisé avec DocuGenerate, enregistre le fichier généré dans le Backendless File Service, et met à jour l’enregistrement de base de données d’origine avec un lien vers le fichier PDF. À la fin de ce guide, vous disposerez d’un pipeline d’automatisation de certificats entièrement fonctionnel que vous pourrez adapter à tout type de document.
Avant de construire le flux FlowRunner, nous devons préparer le modèle de certificat dans DocuGenerate. Pour simplifier les choses, nous utiliserons le modèle prêt à l’emploi Certificate of Achievement de notre Bibliothèque de Modèles. Il s’agit d’une mise en page de certificat standard avec des balises de fusion pour Company Name, Name, Course Name, Diploma Title et Certificate Date. Vous pouvez personnaliser le modèle en modifiant le design, en ajustant la mise en page, ou en ajoutant d’autres balises de fusion pour correspondre à l’identité visuelle et aux besoins de votre organisation.

Une fois le fichier modèle téléchargé, téléversez-le dans votre compte DocuGenerate. Une fois le téléversement terminé, notez l’ID du modèle affiché sur la page du modèle, car vous en aurez besoin lors de la configuration de l’étape de génération de documents dans le flux.
Créer la Table des Participants
Ensuite, nous avons besoin d’une table de base de données dans Backendless pour stocker les données utilisées pour générer les certificats. Accédez à la section Database de votre application Backendless et créez une nouvelle table appelée Participants.

Ajoutez les colonnes suivantes à la table :
Certificate Date (DATETIME) : la date à imprimer sur le certificat. Certificate URL (STRING) : stocke l’URL du fichier de certificat généré. Cette colonne sera automatiquement renseignée par le flux. Company Name (STRING) : le nom de l’entreprise ou de l’organisation délivrant le certificat. Course Name (STRING) : le nom de la formation ou du programme suivi par le participant. Diploma Title (STRING) : le titre du diplôme ou de la réussite récompensée. Name (STRING) : le nom complet du participant.

La colonne Certificate URL démarre vide pour chaque nouvel enregistrement. Le flux la remplira automatiquement avec l’URL du PDF généré une fois l’ensemble du flux terminé, fournissant ainsi un lien direct vers le certificat depuis la base de données.
Une fois la table en place, rendez-vous sur la page FlowRunner Designer et créez un nouveau flux appelé « Certificate of Achievement Flow ». Le premier élément dont nous avons besoin est un déclencheur qui démarre le flux chaque fois qu’un nouvel enregistrement de participant est créé. Dans le panneau Triggers, sélectionnez le déclencheur Record Created in Database dans la catégorie Data Service.

La configuration du déclencheur est simple. Sélectionnez la table Participants dans le menu déroulant Table or View et définissez Reference Trigger Data As sur Participant. Vous pouvez laisser tous les autres champs à leurs valeurs par défaut.

Cela signifie que chaque fois qu’une nouvelle ligne est insérée dans la table Participants, le flux s’exécutera et les données de l’enregistrement seront accessibles sous la forme de l’objet Participant dans les étapes suivantes.
Générer le Document
Une fois le déclencheur en place, nous pouvons ajouter l’étape de génération de document. Recherchez l’ extension DocuGenerate et sélectionnez l’action Generate Document. Cette action s’exécutera chaque fois que le déclencheur se déclenche, générant un nouveau certificat basé sur les données du participant.

Configurez l’action avec les paramètres suivants :
- Template ID : l’ID du modèle que vous avez téléversé dans DocuGenerate à l’étape précédente.
- Name : utilisez le champ Expression pour créer un nom dynamique en concaténant le texte
Certificate for avec la valeur Participant -> Name. - Output Name : laissez vide, le fichier généré utilisera le nom du document.
- Output Format : définissez sur
.pdf pour produire un fichier PDF. - Data : utilisez le champ Expression pour construire l’objet de données JSON (expliqué ci-dessous).
Enfin, définissez Reference Result Data As sur Document et laissez les autres paramètres inchangés.

Le paramètre Data nécessite un tableau JSON qui associe chaque balise de fusion du modèle à la valeur correspondante de l’enregistrement Participant. Le champ Expression de FlowRunner vous permet de combiner du texte statique avec des résultats de blocs dynamiques pour construire ce JSON au moment de l’exécution. Vous alternez entre des Text Inputs (pour la structure JSON et les noms de clés) et des Block Results (pour référencer les propriétés de l’objet Participant). L’expression résultante produit une valeur équivalente à :
[{
"Company Name": "Participant -> Company Name",
"Name": "Participant -> Name",
"Course Name": "Participant -> Course Name",
"Diploma Title": "Participant -> Diploma Title",
"Certificate Date": "Participant -> Certificate Date"
}]
La capture d’écran ci-dessous montre le champ Expression avec tous les blocs de texte et de référence assemblés. Chaque clé de l’objet JSON correspond à une balise de fusion du modèle de certificat, et chaque valeur est extraite dynamiquement de l’enregistrement de base de données du participant.

Enregistrer le Fichier sur Backendless
Maintenant que l’étape de génération de document est configurée, nous pouvons poursuivre la construction du flux en enregistrant le certificat PDF généré dans le Backendless File Service. Dans le panneau Extensions, allez dans Backendless File Services et sélectionnez l’action Add To File. Cette action ajoute du contenu à un fichier existant, et peut également créer un nouveau fichier à partir d’une URL distante grâce au champ Content From URL.

Configurez l’action avec les paramètres de corps suivants :
- Directory Path : définissez sur
certificates pour enregistrer tous les fichiers générés dans un dossier dédié. - File Name : utilisez l’expression
Document -> filename pour nommer le fichier en fonction du document généré à l’étape précédente. - Content From URL : utilisez
Document -> document_uri pour télécharger le PDF généré depuis DocuGenerate.

N’oubliez pas de définir Reference Result Data As sur File. L’objet File contiendra une propriété fileURL que nous utiliserons à l’étape suivante pour stocker l’emplacement du fichier dans la base de données.
Mettre à Jour l’Enregistrement de Base de Données
Pour la dernière étape du flux, nous devons mettre à jour l’enregistrement Participants d’origine avec l’URL du certificat enregistré. Cela crée un lien direct entre l’entrée de base de données de chaque participant et son certificat généré, facilitant la récupération ou l’affichage du fichier ultérieurement, que ce soit depuis une application web, un rapport, ou directement depuis la table de base de données.
Dans le panneau Actions, allez dans Data Service et sélectionnez l’action Save Record In Database. Cette action enregistre ou met à jour des données dans votre base de données Backendless lors de son exécution et peut être placée à n’importe quel point du flux pour garantir des mises à jour de données en temps voulu en réponse à des événements ou actions spécifiques.

Pour configurer l’action, sélectionnez l’option Update record from flow et choisissez Use data from l’objet Participant. Dans la section Perform Changes, sélectionnez la propriété Certificate URL et saisissez la valeur File -> fileURL. Cela écrit l’URL du fichier enregistré à l’étape précédente dans l’enregistrement du participant. Vous pouvez, si vous le souhaitez, définir Reference Result Data As sur Record.

Tester le Flux
Avec les quatre étapes en place, le flux est complet et prêt pour un test de bout en bout. Le flux suit une séquence claire : un nouvel enregistrement de base de données déclenche la génération du document, le PDF généré est enregistré dans le stockage de fichiers Backendless, et l’enregistrement est mis à jour avec l’URL du fichier.
Pour démarrer le flux, cliquez sur le bouton Play dans le FlowRunner Designer. Notez que lorsqu’un flux est en cours d’exécution, vous ne pouvez pas y apporter de modifications, mais vous pouvez l’arrêter à tout moment et mettre à jour la configuration si nécessaire.
Il existe plusieurs façons de tester le flux, et l’une des plus simples consiste à utiliser la REST Console de la table Participants. Par exemple, nous pouvons exécuter une requête POST avec le corps de requête suivant :
{
"Company Name": "Wikivu",
"Name": "Brandtr Lusk",
"Course Name": "Property-Casualty Insurers",
"Diploma Title": "Food Chemist",
"Certificate Date": "7/12/2024"
}
Le corps de la réponse confirme qu’un nouvel enregistrement a été créé dans la base de données. En quelques instants, le flux s’exécute et génère le certificat.

Comme attendu, le certificat PDF généré apparaît dans le dossier certificates du File Service. En guise d’amélioration future, vous pourriez également supprimer le document de DocuGenerate après l’avoir enregistré dans Backendless, afin de garder votre compte DocuGenerate bien organisé.

Dans la table Participants, la colonne Certificate URL contient désormais un lien vers le fichier stocké dans l’espace de stockage Backendless, confirmant que l’ensemble du flux fonctionne correctement, du déclenchement à la finalisation.

Si vous souhaitez essayer ce flux vous-même, vous pouvez télécharger la définition de flux complète et l’importer dans votre instance FlowRunner. Vous devrez mettre à jour l’ID du modèle et les références de table pour correspondre à la configuration de votre propre application Backendless.
Conclusion
Dans ce tutoriel, nous avons construit un flux complet d’automatisation de certificats utilisant FlowRunner et DocuGenerate. Le flux écoute les nouveaux enregistrements dans une base de données Backendless, génère un certificat PDF personnalisé pour chaque participant, enregistre le fichier dans le Backendless File Service, et met à jour l’enregistrement de base de données avec un lien vers le document généré. L’ensemble du processus s’exécute automatiquement sans aucune intervention manuelle une fois le flux démarré.
Ce flux illustre un exemple concret de ce que vous pouvez construire avec FlowRunner et DocuGenerate. Le même modèle s’applique à tout scénario où vous devez générer des documents à partir d’enregistrements de base de données, comme des factures, des contrats, des rapports ou tout autre document basé sur un modèle. Vous pourriez également étendre ce flux en ajoutant des notifications par e-mail, une logique conditionnelle basée sur les données des enregistrements, ou des intégrations avec d’autres services disponibles dans l’écosystème Backendless.
Ressources